package com.android.xml;

import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import org.apache.http.util.ByteArrayBuffer;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class GetDataFromWeb extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		 
        /* We will show the data we read in a TextView. */
        TextView tv = new TextView(this);
       
        /* Will be filled and displayed later. */
        String myString = null;
        try {
                /* Define the URL we want to load data from. */
                URL myURL = new URL(
                                "http://maps.google.com/maps/api/geocode/xml?latlng=16.458676,107.591818&sensor=true");
//                URL myURL = new URL(
//                        "http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt");
                /* Open a connection to that URL. */
                URLConnection ucon = myURL.openConnection();

                /* Define InputStreams to read
                 * from the URLConnection. */
                InputStream is = ucon.getInputStream();
                BufferedInputStream bis = new BufferedInputStream(is);
               
                /* Read bytes to the Buffer until
                 * there is nothing more to read(-1). */
                ByteArrayBuffer baf = new ByteArrayBuffer(50);
                int current = 0;
                while((current = bis.read()) != -1){
                        baf.append((byte)current);
                        Log.i(this.getClass().getName(), new String(baf.toByteArray()));
                }
                

                /* Convert the Bytes read to a String. */
                myString = new String(baf.toByteArray());
        } catch (Exception e) {
                /* On any Error we want to display it. */
                myString = e.getMessage();
        }
        /* Show the String on the GUI. */
        tv.setText(myString);
        Log.i(this.getClass().getName(), myString);
        
        this.setContentView(tv);
	}
}
